From: Guillaume Desmottes Date: Wed, 9 Feb 2011 10:35:50 +0000 (+0100) Subject: factor out _createSource X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~1013^2^2~8993 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=ccd2fec890c10a4b72ce49652f7a8145801da1d3;p=gnome-shell.git factor out _createSource --- diff --git a/js/ui/telepathyClient.js b/js/ui/telepathyClient.js index 73d8ec37c..f9d61fdcf 100644 --- a/js/ui/telepathyClient.js +++ b/js/ui/telepathyClient.js @@ -79,17 +79,6 @@ Client.prototype = { targetHandleType != Tp.HandleType.CONTACT) continue; - if (this._sources[connPath + ':' + targetHandle]) - continue; - - let source = new Source(account, conn, chan); - - this._sources[connPath + ':' + targetHandle] = source; - source.connect('destroy', Lang.bind(this, - function() { - delete this._sources[connPath + ':' + targetHandle]; - })); - /* Request a TpContact */ Shell.get_tp_contacts(conn, 1, [targetHandle], contactFeatures.length, contactFeatures, @@ -98,21 +87,25 @@ Client.prototype = { return; /* We got the TpContact */ - if (this._sources[chan.get_object_path()]) - return; - - let source = new Source(account, conn, chan, contacts[0]); - - this._sources[chan.get_object_path()] = source; - source.connect('destroy', Lang.bind(this, - function() { - delete this._sources[chan.get_object_path()]; - })); - })); + this._createSource(account, conn, channel, contacts[0]); + }), null); } // Allow dbus method to return context.accept(); + }, + + _createSource: function(account, conn, channel, contact) { + if (this._sources[channel.get_object_path()]) + return; + + let source = new Source(account, conn, channel, contact); + + this._sources[channel.get_object_path()] = source; + source.connect('destroy', Lang.bind(this, + function() { + delete this._sources[channel.get_object_path()]; + })); } };